package com.dd.service;

import com.dd.model.Order;
import com.dd.model.OrderItem;

import java.util.List;

/**
 * 订单服务接口
 */
public interface OrderService {
    
    /**
     * 查询所有订单
     */
    List<Order> findAllOrders();
    
    /**
     * 根据ID查询订单(包含客户和订单项信息)
     */
    Order getOrderById(Integer orderId);
    
    /**
     * 根据客户ID查询订单
     */
    List<Order> findOrdersByCustomer(Integer customerId);
    
    /**
     * 根据订单状态查询订单
     */
    List<Order> findOrdersByStatus(String status);
    
    /**
     * 创建订单
     */
    boolean createOrder(Order order, List<OrderItem> orderItems);
    
    /**
     * 更新订单
     */
    boolean updateOrder(Order order);
    
    /**
     * 更新订单状态
     */
    boolean updateOrderStatus(Integer orderId, String status);
    
    /**
     * 删除订单
     */
    boolean deleteOrder(Integer orderId);
    
    /**
     * 获取订单项列表
     */
    List<OrderItem> getOrderItems(Integer orderId);
    
    /**
     * 添加订单项
     */
    boolean addOrderItem(OrderItem orderItem);
    
    /**
     * 更新订单项
     */
    boolean updateOrderItem(OrderItem orderItem);
    
    /**
     * 删除订单项
     */
    boolean deleteOrderItem(Integer itemId);
} 